package com.tensquare.user.dao;

import com.tensquare.user.pojo.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

/**
 * @author Macross
 * @Type UserDao.java
 * @Desc 用户dao接口
 * @date 2019/12/23 12:16
 */
public interface UserDao extends JpaRepository<User,String> {

    /**
     * 通过手机号获取对应的用户信息
     * @param mobile 手机号
     * @return
     */
    User findByMobile(String mobile);

    /**
     * 更新用户的粉丝量
     * @param userId 用户ID
     * @param num 更新数量
     */
    @Modifying
    @Query(
            nativeQuery = true,
            value = "update tb_user set fanscount = fanscount + ?2 where id = ?1"
    )
    void updateFansCount(String userId, Integer num);

    /**
     * 更新用户的关注数
     * @param userId 用户ID
     * @param num 更新数量
     */
    @Modifying
    @Query(
            nativeQuery = true,
            value = "update tb_user set followcount = followcount + ?2 where id = ?1"
    )
    void updateFollowCount(String userId, Integer num);
}
